1. Field of the Invention
The present invention relates to an image forming apparatus which is connected to a network and is communicable with an information processing apparatus on the network, a control method therefor, a program, and an image forming system including the image forming apparatus and information processing apparatus.
2. Description of the Related Art
Conventionally, image forming apparatuses (e.g., printers and multifunction peripherals) that are connected to a network and receive an operation from a computer through the network are used. Some of the image forming apparatuses can extend PDLs (Page Description Languages) processible in the apparatus later to support a plurality of PDLs.
When a device serving as a peripheral device is connected to an information processing apparatus such as a host computer, the device can transmit device information containing the model name and manufacturer name to the information processing apparatus. Upon receiving the device information, the information processing apparatus can refer to the device ID in the device information and selectively install a device driver specified by the device ID. This technique is called “plug and play”.
Printer driver installation processing by general plug and play will be described with reference to FIG. 1.
Referring to FIG. 1, a general personal computer (PC) or workstation is used as a host computer, i.e., an example of an information processing apparatus 100. Assume that a plurality of driver sets 101 to 103 are stored in the information processing apparatus 100 in advance as drivers packaged in the operating system (OS) of the apparatus.
Each of the driver sets 101 to 103 includes an INF file 104 that describes unique information to be referred to in installing the driver, various kinds of execution modules 105, and resources 106. A device ID is described in the INF file 104. The device ID is formed from the value of an MFG tag as a manufacturer name and the value of an MDL tag as a product name in device information received upon plug and play.
The device ID is used as an identifier to make an image forming apparatus (printer) accurately correspond to a device driver at the time of installation. When the information processing apparatus 100 is connected to an image forming apparatus 107 through a communication medium 108 such as USB, the image forming apparatus 107 detects the connection. After detecting the connection, the image forming apparatus 107 transmits, to the information processing apparatus 100 through the communication medium 108, device information 109 defined by IEEE1284 and containing unique information of the image forming apparatus 107. The device information 109 defined by IEEE1284 contains pieces of information shown in FIG. 2.
Upon receiving the device information 109, the OS in the information processing apparatus 100 reads out the CLS tag from the device information 109, detects that the target of plug and play is the image forming apparatus 107, and starts installing a corresponding driver set. The OS generates a device ID including the MFG tag and MDL tag in the device information 109 and searches for a driver set with the INF file 104 containing the device ID from the driver sets 101 to 103.
When the driver set corresponding to the device information 109 is found, the various kinds of execution modules 105 and resources 106 in the driver set are installed in the OS. The installed driver set is connected to a port of the communication medium 108 that has received the device information 109. If no corresponding driver set is present in the information processing apparatus 100, the processing is ended without installation.
The device information shown in FIG. 2 will be described.
The format of the device information shown in FIG. 2 includes a “tag” column representing tag names and a “value” column representing possible tag values. A CLS tag stores “PRINTER” as its value. The CLS tag stores the apparatus type as its value. In this case, this tag indicates that the connected peripheral device is an image forming apparatus.
An MFG tag stores “ABC” as its value. The MFG tag indicates the manufacturer name. That is, it indicates that ABC is the manufacturer. An MDL tag stores “LBP-XXX PDL1” as its value. The MDL tag indicates the model name and PDL type. In this case, this tag indicates that the model of the peripheral device is LBP-XXX, and the PDL type is PDL1.
A CMD tag stores “PDL1, IEEE1284” as its value. The value of the CMD tag includes the command and PDL name to be transmitted/received through the communication medium. In this case, this tag indicates that the peripheral device would transmit/receive a command group PDL1 as the PDL type by using IEEE1284 as the communication medium type.
In the information processing apparatus 100 that has received the device information 109 shown in FIG. 2, the OS generates a device ID “ABC LBP-XXX PDL1” for the values of the MFG and MDL tags. A driver set is searched by using the device ID as a key.
Plug-and-play techniques using a local interface such as USB or a network interface such as LAN are also proposed. Examples are SOAP (Simple Object Access Protocol)-based Web service protocols called WS-Discovery and WS-MetadataExchange.
The information processing apparatus can detect the presence of a device on the network and acquire device information from the detected device by using these techniques. Hence, the driver of the device on the network can be installed by the same plug and play as in the local interface.
A technique of causing a printer to notify an information processing apparatus of a device ID by designating a predetermined mode to install a driver corresponding to the device ID by the information processing apparatus has also been proposed (Japanese Patent Laid-Open No. 2003-99219).
However, the above-described conventional techniques install a plurality of drivers even on an information processing apparatus when an image forming apparatus has a plurality of PDLs. In most cases, although a general user uses a PDL with little concern for its type in printing, the information processing apparatus installs a plurality of drivers. This may confuse the user.
Even in a specific PDL use environment under which it is apparent from the processing log that a PDL is kept unchanged, the information processing apparatus may not install a driver corresponding to that PDL.